package inge_soft.gestoriusNuevo.persistence.DAO.implementation;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import inge_soft.gestoriusNuevo.persistence.DAO.abstraction.IEstadoDAO;
import inge_soft.gestoriusNuevo.persistence.entity.implementation.Estado;
import inge_soft.gestoriusNuevo.persistence.entity.implementation.TipoDomicilio;

@Repository("estadoDAO")
public class EstadoDAO implements IEstadoDAO {

	@PersistenceContext
	private EntityManager entityManager;
	
	@SuppressWarnings("unchecked")
	@Transactional(readOnly = true)
	public List<Estado> obtenerTodosEstados() throws DataAccessException {
		Query query = entityManager.createQuery("SELECT e FROM Estado e");
		return query.getResultList();
	}

	public Estado obtenerEstado(String estado) {
		List<Estado> estadosPosibles = this.obtenerTodosEstados();
		Estado estadoBD = null;
		for(Estado estadoActual:estadosPosibles){
			if(estadoActual.getNombre().equalsIgnoreCase(estado)){
				estadoBD = estadoActual;
			}
		}
		return estadoBD;
	}
	
	

}
